﻿// 枚举 · 例16-迷你扫雷.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
链接：https://ac.nowcoder.com/acm/contest/20960/1017
来源：牛客网

迷你版的扫雷运行规则与通常的扫雷类似，我们描述如下： 
迷你扫雷在一个n 行2 列的棋盘上进行；
雷只会存在于棋盘的第一列中，且一个格子中最多只存在一个雷；
 
第二列的每一行都有一个数字，记第i 行的数字为ai，这表示第一列中第i−1 行、第i 行和第i+1 行中雷的数目；
特别的，如果目标格在棋盘外，视为没有雷。
现在，对于给定的第二列的数字，你需要计算第一列中雷的合法摆放方案数。
输入描述:
第一行输入一个整数n(1≤n≤104 ) 代表棋盘行数。
第二行输入n 个整数
𝑎1,𝑎2,~~,𝑎𝑛(0≤𝑎𝑖≤3) 代表第二列第i 行的数字。
输出描述:
在一行上输出一个整数，代表第一列中雷的摆放方案数。

示例1
输入
复制
2
1 1
输出
复制
2
说明
在这个样例中，当且仅当第一列第一行存在一个雷、当且仅当第一列第二行存在一个雷都是合法的。


示例2
输入
复制
5
0 0 1 0 0
输出
复制
0
说明
在这个样例中，不存在任何一种合法的摆放方案。
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 